課程資訊
課程名稱
演算法
Algorithms 
開課學期
104-2 
授課對象
電機資訊學院  電機工程學系  
授課教師
李建模 
課號
EE4033 
課程識別碼
901 39000 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期二7,8,9(14:20~17:20) 
上課地點
電二143 
備註
總人數上限:100人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1042_algorithms 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

This class introduces basic concepts of design and analysis of computer algorithms. The course contents include fundamental knowledge, sorting, trees, dynamic programming, graphs, NP-completeness and etc. 

課程目標
Students will learn how to design and analyze algorithms as well as implement it in C or C++ codes to solve problems. 
課程要求
Computer programming skills in C or C++ is needed.
Students are required to program in Linux systems.
Background in data structures is a plus but not required.
Grading is based on homework, programming assignments, exam, project and etc. 
預期每週課後學習時數
 
Office Hours
每週四 14:00~16:00 備註: 週四為PA助教輪值 若以下時間無法前來, 可以寄信另外約時間. 
指定閱讀
Cormen, Leiserson, Rivest, Stien, Introduction to Algorithms, 3rd edition, MIT Press, 2009.  
參考書目
 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
Week 1
2/23  Introduction, Foundations: CH1, CH2 
Week 2
3/1  Foundations: CH3, CH4 
Week 3
  Sorting - Heap sort, Quick sort 
Week 4
  Sorting - linear time, order statistics 
Week 5
  Advance Design Techniques- Dynamic Programming 
Week 6
  Advance Design Techniques - Greedy 
Week 7
  Data Structure 
Week 8
  Graph, shortest path 
Week 9
  All pair shortest path 
Week 10
  max flow 
Week 11
  minimum spanning tree 
Week 12
  matrix & linear programming (不考) 5/15改版 
Week 13
  NP complete problems + approximation algorithms (不考) 
Week 14
  Amortized Analysis (不考) 
Week 13-1
  Useful Combinatorial Optimization Algorithms (不考)